Image detail enhancement is frequently used in digital video systems such as digital television sets. A goal of image detail enhancement is to improve the image sharpness. As such, image high frequency components that contain image details are extracted, enhanced and added back to the original image so that the details in the processed image become more obvious to a viewer.
FIG. 1 shows a block diagram of a conventional image detail enhancement system 10, also known as unsharp masking. An original image ƒ is passed through a low pass filter (LPF) 12 to obtain an image ƒ1 (unsharp signal), wherein the image ƒ1 is subtracted from the original image ƒ in a node 14, to obtain the difference (ƒ−ƒ1). The difference (ƒ−ƒ1) is then boosted by a factor of K (K>0) in a multiplier 16, before being added back to the original image ƒ in a node 18, to generate an enhanced output image g. The relationship between the output signal g and the input signal ƒ can be expressed as:g=(ƒ−ƒ1)*K+ƒ  (1)
The low pass filter 12 can be either a one dimensional (1D) filter or a two dimensional (2D) filter. If it is a 1D filter, the detail enhancement process can be performed along the horizontal and vertical directions separately.
A shortcoming of such conventional image detail enhancement systems is that in addition to enhancing image details, image noise may also be enhanced. Typically image noise consists of high frequency, and as such it is extracted and boosted during such detail enhancement processes.
To control noise in detail enhancement, some conventional detail enhancement systems apply a coring function to the extracted high frequency component (ƒ−ƒ1). FIG. 2 shows a block diagram of such a detail enhancement system 20 further including a coring block 22, wherein the relationship between the output signal g and the input signal ƒ can be expressed as:g=K*coring(ƒ−ƒ1)+ƒ  (2)
Different coring functions can be utilized, and an example coring function can be:
                              coring          ⁢                                          ⁢                      (            x            )                          =                  {                                                    0                                                                                  if                    ⁢                                                                                  ⁢                                                                x                                                                              <                  T                                                                                    x                                                                                  if                    ⁢                                                                                  ⁢                                                                x                                                                              ≥                  T                                                                                        (        3        )            
Basically, the example coring function truncates small amplitude input values of x to 0 and leaves large amplitude value of x unchanged. A threshold value T is used to check the amplitude value of x. A coring function is useful in preventing noise enhancement in a flat image area. This is because in a flat image area, the amplitude of (ƒ−ƒ1) is relatively low and may be truncated to 0 by the coring function, whereby noise in those areas is not boosted. However, for noise along image edge areas, a coring function is not effective.
Yet another conventional detail enhancement system that attempts to control noise, utilizes checking the local variance at each pixel location and adjusts the enhancement gain accordingly (i.e., the enhancement gain is adaptively adjusted based on the local variance level). FIG. 3 shows a block diagram of such a detail enhancement system 30 which includes a local variance checker 32. The variance checker 32 checks the local variance around a current pixel, wherein a parameter α (0≦α≦1) is generated based on the variance level. The higher the local variance value, the larger the value of α. The relationship between the output signal g and the input signal ƒ can be expressed as:g=(ƒ−ƒ1)*K*α+ƒ  (4)
Such a system also helps prevent noise in a flat image area from being enhanced. In a flat image area, local variance level is low and therefore α has a small value. As a result, according to relation (4), flat image areas are not much enhanced and noise is not boosted substantially.
However, a shortcoming of the above detail enhancement systems is that neither system can prevent noise enhancement around image edge areas. When noise around image edge area is enhanced, it can have very undesirable results. FIG. 4 shows an example of noise enhancement around image edge areas, by a detail enhancement process. FIG. 4(a) shows the original image with noise, and FIG. 4(b) shows the detail enhanced image. In this example, both a coring function and local variance checking are used in the detail enhancement process to suppress noise. However, it can be seen in FIG. 4(b) that noise around image edge areas is still substantially enhanced (each small rectangular block in FIG. 4 is size of a pixel). Such poor results (artifacts) are especially obvious for sharp image edges having a horizontal or vertical direction. For a slant image edge, such artifacts are less visible.
There is, therefore, a need for a method and system for detecting and processing noisy edge in an image detail enhancement process so that noise enhancement around edge areas is virtually eliminated.